﻿#ifndef MANAGEMENTADMIN_H
#define MANAGEMENTADMIN_H

#include "management.h"
#include "infostudent.h"
#include "infoteacher.h"
#include "infocourse.h"
#include <QList>


class adminManagement:public management
{
public:
    adminManagement();
    //添加新课程
    virtual void addNewCourse(courseInfo& newCourse)=0;
    //添加新的学生信息
    virtual void addNewStudent(studentInfo& newStudent)=0;
    //添加新的教师信息
    virtual void addNewTeacher(teacherInfo& newTeacher)=0;

    //查看所有教师信息
    virtual void displayAllTeacher(QStandardItemModel *model)=0;
    //查看所有学生信息
    virtual void displayAllStudent(QStandardItemModel *model)=0;
    //查看所有课程信息
    virtual void displayAllCourse(QStandardItemModel *model)=0;

    //修改学生信息
    virtual void modifyStudentInfo(studentInfo& info,QStringList newInfo)=0;
    //修改课程信息
    virtual void modifyCourseInfo(courseInfo& info,QStringList newInfo)=0;
    //修改教师信息
    virtual void modifyTeacherInfo(teacherInfo& info,QStringList newInfo)=0;

    //删除学生信息
    virtual void deleteStudentInfo(QString id)=0;
    //删除教师信息
    virtual void deleteTeacherInfo(QString id)=0;
    //删除课程信息
    virtual void deleteCourseInfo(QString id)=0;


    virtual bool displayTeacherWithId(const QString& id,QStandardItemModel *model)=0;

    virtual bool displayTeacherWithName(const QString& name,QStandardItemModel *model)=0;

    virtual bool displayStudentWithId(const QString& id,QStandardItemModel *model)=0;

    virtual bool displayStudentWithName(const QString& name,QStandardItemModel *model)=0;


    virtual teacherInfo& findTeacherWithId(const QString& id)=0;

    virtual teacherInfo& findTeacherWithName(const QString& name)=0;

    virtual studentInfo& findStudentWithId(const QString& id)=0;

    virtual studentInfo& findStudentWithName(const QString& name)=0;

    virtual courseInfo& findCourseWithId(const QString& id)=0;


    virtual void displayWaitToLoadCourse(QStandardItemModel *model)=0;

};

#endif // MANAGEMENTADMIN_H
